//leecode 88
//解题思路
// 1. 创建一个新数组，将两个有序数组的元素依次添加到新数组中
// 2. 将新数组进行排序
// 3. 返回新数组2

// //合并两个有序数组
// var merge = function(nums1, m, nums2, n) {
//     let i = m - 1, j = n - 1, k = m + n - 1
//     while(i >= 0 && j >= 0) {
//         if (nums1[i] < nums2[j]) {//最后一个不为零
//             nums1[k] = nums2[j--]
//         } else {
//             nums1[k] = nums1[i--]
//         }
//         k--
//     }
//     while(i >= 0) nums1[k--] = nums1[i--]
//     while(j >= 0) nums1[k--] = nums2[j--]
// };
// nums1 = [2,4,6,0,0,0]
// nums2 = [1,3,5,]
// merge(nums1, 3, nums2, 3)
// console.log(nums1)


//合并两个有序数组
var merge = function(nums1, m, nums2, n) {
    let i = m - 1, j = n - 1, k = m + n - 1;
    //双指针比较大小
    while (i >= 0 && j >= 0) {
        if (nums1[i] < nums2[j]) {
            nums1[k--] = nums2[j--];
        } else {
            nums1[k--] = nums1[i--];
        }
    }
    while(i >=0){nums1[k--]=nums1[i--]}
    while(j >=0){nums1[k--]=nums1[j--]}

};
nums1 = [2,4,6,0,0,0]
nums2 = [1,3,5]
merge(nums1, 3, nums2, 3)
console.log(nums1)